package com.shine.commonlibrary.utils.utils;

import android.text.TextUtils;

import com.google.gson.JsonSyntaxException;
import com.shine.commonlibrary.utils.api.bean.RequestCom;


/**
 * Created by M_genius on 2017/6/5 13:57.
 * 描述：一个全局数据的存储类，数据存储于 SharedPreferences 中
 * 下面为实例存取方式
 */

public class GlobalDataUtils {

    /**
     * 保存 API公共请求参数，存储一个对象
     *
     * @param requestCom
     */
    public static void saveRequestCom(RequestCom requestCom) {
        String json = JsonUtils.toJson(requestCom);
        if (json == null) {
            throw new JsonSyntaxException("Json 解析错误！");
        }
        SPUtils.getInstance().put("requestCom", json);
    }

    /**
     * 获取 API公共请求参数
     */
    public static RequestCom getRequestCom() {
        String json = SPUtils.getInstance().getString("requestCom");
        if (TextUtils.isEmpty(json)) {
            throw new NullPointerException("没有获取到API公共请求参数");
        }
        RequestCom requestCom = JsonUtils.fromJson(json, RequestCom.class);
        if (requestCom == null) {
            throw new NullPointerException("API公共请求参数为Null");
        }
        return requestCom;
    }

    /**
     * 保存字符串
     *
     * @param string
     */
    public static void saveCurString(String string) {
        SPUtils.getInstance().put("string", string);
    }


    /**
     * 切换账号后，移除病区信息
     */
    public static void removeCurString() {
        SPUtils.getInstance().remove("string");
    }
}
